<%@ page language="java" import="java.util.*,web.java.entity.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jstl标签库 java standard tag library</title>
  </head>
  
  <body>
  	<%-- 保存标签，默认保存到page域中 --%>
  	<c:set var="name" value="rose" scope="page"></c:set>
  	${pageScope.name }
  	<%
  		String msg=null;
  		pageContext.setAttribute("msg",msg);
  	%>
  	${msg }
  	<%-- 当传入值为空，out标签可以使用默认值 --%>
  	<c:out value="${msg }" default="</h1>您获取的值为空！</h1>" escapeXml="false"></c:out>
  	<%-- if标签，判断 --%>
  	<c:if test="${!empty name }">
  		<p>id标签判断name不为空！</p>
  	</c:if>
  	<%-- 
  	choose 标签  多条件判断
  	when 标签	 	<==> 	else if
  	otherwise 标签	<==> 	else
  	--%>
  	<hr/>
  	<c:choose>
  		<c:when test="${empty name }">
  			<p>choose标签判断name为空</p>
  		</c:when>
  		<c:when test="${!empty name }">
  			<p>name不为空！</p>
  		</c:when>
  		<c:otherwise>
  			<p>其他错误！</p>
  		</c:otherwise>
  	</c:choose>
  	<hr/>
  	<%-- forEach标签：循环 --%>
  	<%
		Student s1=new Student("cainter","20");
		Student s2=new Student("monster","18");
		Student s3=new Student("master","30");
		Student s4=new Student("cyder","26");
		ArrayList<Student> studentList=new ArrayList<Student>();
		studentList.add(s1);
		studentList.add(s2);
		studentList.add(s3);
		studentList.add(s4);
		pageContext.setAttribute("studentList",studentList);
    	Map<String,String> map=new HashMap<String, String>();
    	map.put("001", "cainter");
    	map.put("002","moster");
    	pageContext.setAttribute("map",map);
  	%>
     <%--
      begin="" : 从哪个元素开始遍历，从0开始.默认从0开始
      end="":     到哪个元素结束。默认到最后一个元素
      step="" ： 步长    (每次加几)  ，默认1
      items=""： 需要遍历的数据（集合） 
      var=""： 每个元素的名称 
      varStatus=""： 当前正在遍历元素的状态对象。（count属性：当前位置，从1开始）
     --%>
  	<c:forEach begin="0" step="1" end="3" items="${studentList }" var="student" varStatus="varSta" >
  		<p>序号：${varSta.count }-姓名：${student.name }-年龄：${student.age }</p>
  	</c:forEach>
  	<c:forEach items="${map }" var="entry">
  		<p>序号：${entry.key }-姓名：${entry.value }</p>
  	</c:forEach>
  	<hr/>
  	<%
  		String str="java-php-net-平面";
  		pageContext.setAttribute("str",str);
  		//forTokens标签，拆分字符串
  	%>
  	<c:forTokens items="${str }" delims="-" var="s">
  		<p>拆分后的字符串为：${s }</p>
  	</c:forTokens>
  	<%-- 重定向 --%>
  	<%-- <c:redirect url="https://www.baidu.com"></c:redirect> --%>
  </body>
</html>
